package main

import "fmt"

func main() {
    slice := []int{0, 1, 2, 3}

    map1 := make(map[int]*int)
    map2 := make(map[int]*int)

    for key, val := range slice {
        map1[key] = &val
    }

    for key, val := range slice {
        value := val
        fmt.Println("val的地址为：", &val)
        fmt.Println("value的地址为：", &value)
        map2[key] = &value
    }

    fmt.Println("map1")
    for k, v := range map1 {
        fmt.Println(k, "->", *v)
    }

    fmt.Println("map2")
    for k, v := range map2 {
        fmt.Println(k, "->", *v)
    }
}
